/*
 * Golazo GeoNotes
 * Copyright (C) 2009 Nakajiman Software Inc.
 * http://nakajiman.lrlab.to/
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License 
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

/**
 * serverload
 */
function serverload() {

  // GET
  Golazo.dispatch(function(request, response, me) {

	if (me)
	  $(document).me(me);

    $('#content div.chapter').not(
      me && me.id ? '#succeeded' : (me ? '#signup' : '#signin')
	).remove();

  // POST
  }, function(request, response, me) {

    if (!me || me.id)
      return response.redirect('/', 302);

    me.set('email', request.data.email || '');
    me.set('timezone', request.data.timezone || '0');
	me.save();

    var errors = me.getErrors();
	if (errors.length > 0)
	  throw new Error(errors.toSource());

    response.redirect('/signup.html', 302);

  });

};

/**
 * load
 */
function load() {

  $(document.form).submit(function() {
	
	var error = $('div.message', this).hide();
    
	if (this.email.value !== '' && !Golazo.checkEmail(this.email.value))
	  return !error.text('Email is not a valid email address.').show();
	
	this.timezone.value = new Date().getTimezoneOffset() * -1;
	
	return true;
  
  }).find('div.signin').signIn(function() {
    location.reload();
  });

};
load.runat = 'client';